GtkIconTheme: Make suffix_from_name NULL-safe
authorMatthias Clasen <mclasen@redhat.com>
Fri, 5 Sep 2014 17:15:14 +0000 (13:15 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 5 Sep 2014 17:15:14 +0000 (13:15 -0400)
This can happen sometimes with GFileIcons that are
not representable as a local path. Better not to crash
in this case.

gtk/gtkicontheme.c

index f4fc82fa33d3d95efe3f80d40ea3c652e2de828f..8ac6dd6d6d8bae90016c18d3f842e116f894daec 100644 (file)
@@ -2840,18 +2840,19 @@ string_from_suffix (IconSuffix suffix)
 static IconSuffix
 suffix_from_name (const gchar *name)
 {
-  IconSuffix retval;
-
-  if (g_str_has_suffix (name, ".symbolic.png"))
-    retval = ICON_SUFFIX_SYMBOLIC_PNG;
-  else if (g_str_has_suffix (name, ".png"))
-    retval = ICON_SUFFIX_PNG;
-  else if (g_str_has_suffix (name, ".svg"))
-    retval = ICON_SUFFIX_SVG;
-  else if (g_str_has_suffix (name, ".xpm"))
-    retval = ICON_SUFFIX_XPM;
-  else
-    retval = ICON_SUFFIX_NONE;
+  IconSuffix retval = ICON_SUFFIX_NONE;
+
+  if (name != NULL)
+    {
+      if (g_str_has_suffix (name, ".symbolic.png"))
+        retval = ICON_SUFFIX_SYMBOLIC_PNG;
+      else if (g_str_has_suffix (name, ".png"))
+        retval = ICON_SUFFIX_PNG;
+      else if (g_str_has_suffix (name, ".svg"))
+        retval = ICON_SUFFIX_SVG;
+      else if (g_str_has_suffix (name, ".xpm"))
+        retval = ICON_SUFFIX_XPM;
+    }
 
   return retval;
 }